1. Field of the Invention
The invention relates generally to graphical displays of multi-dimensional objects. More specifically, the invention relates to adaptively positioning labels on a graphical display of a multi-dimensional object.
2. Background Art
Three-dimensional (3D) objects are commonly represented on computer displays in two dimensions (2D) for analysis. These displays often include data labels, e.g., the coordinates or data value of particular points in the object, or the identity of each subpart of the object, and the like. Data labels facilitate the analysis of the 3D objects. Computer displays also allow users to manipulate the 3D objects by rotating, translating, or zooming in and out of the displayed scenes. In addition, the computer displays may also allow the users to change the visual effects of the display, e.g., color, lighting, or texture mapping of the objects. All these permissible user requests are generally referred to as user-requested actions. 3D visualization software packages known in the art respond to motion-type (translation, rotation, and zooming) user-requested actions by moving the view point (i.e., a user's view point or a camera position) around a 3D scene. Translation is performed by moving the view point (camera position) relative to the displayed object, while rotation and zooming operations are performed by moving a user's view point (or camera position) relative to a pivot point, which is typically a point of interest (POI) in the scene. With each user-requested action, the display is redrawn. Consequently, the data labels, if present, need to be updated with each redrawing, i.e., with each user-requested action.
Software packages known in the art use subroutines to display data labels. These display subroutines typically are for labeling static images so that user intervention may be required to update or reposition labels when the graph or image is rotated, scaled, or otherwise manipulated. Without user intervention, such labels may be dissociated from their reference points and may obscure other labels or portions of the graphical image after each manipulation. In other types of software packages, the labels are associated with the displayed object and move with the object. These labels may become obscured or overlap the displayed image after the manipulation.
Furthermore, software packages known in the art label the object evenly along the 3D object. The distances between the labeled points become unevenly spatially distributed in the perspective 2D image. The uneven distribution of data labels makes it difficult to estimate the value of a point between two labeled points (i.e., difficult to interpolate). If the data labels are forced to be evenly spatially distributed in the 2D display, the corresponding data value on each data label will not be incremented by equal amounts. Consequently, the values for the data labels may include fractional numbers (non-integers). The extra digits in fractional numbers do not include substantial information, but they interfere with user's perception of the numbers and make interpolation difficult.
Thus there remains a need for improved techniques for the labeling and display of graphical images.